Skip Headers

Oracle® Database SQL Reference 10g Release 2 (10.2) Part Number B14200-02 |
Home | Book List | Contents | Index | Master Index | Feedback

Previous | Next
| View PDF

# Sorting Query Results

Use the `ORDER` `BY` clause to order the rows selected by a query. Sorting by position is useful in the following cases:

- To order by a lengthy select list expression, you can specify its position in the `ORDER` `BY` clause rather than duplicate the entire expression.

- For compound queries containing set operators `UNION`, `INTERSECT`, `MINUS`, or `UNION` `ALL`, the `ORDER` `BY` clause must specify positions or aliases rather than explicit expressions. Also, the `ORDER` `BY` clause can appear only in the last component query. The `ORDER` `BY` clause orders all rows returned by the entire compound query.

The mechanism by which Oracle Database sorts values for the `ORDER` `BY` clause is specified either explicitly by the `NLS_SORT` initialization parameter or implicitly by the `NLS_LANGUAGE` initialization parameter. You can change the sort mechanism dynamically from one linguistic sort sequence to another using the `ALTER` `SESSION` statement. You can also specify a specific sort sequence for a single query by using the `NLSSORT` function with the `NLS_SORT` parameter in the `ORDER` `BY` clause.

See Also: NLSSORT and Oracle Database Globalization Support Guide for information on the NLS parameters